package com.binance.notification.web.service;

import com.binance.notification.api.request.LongIdRequest;
import com.binance.notification.api.request.MessagePushRequest;
import com.binance.notification.api.request.MessageTypeRequest;
import com.binance.notification.api.request.MessageUpdateRequest;
import com.binance.notification.api.response.MessagePushBodyPageResponse;
import com.binance.notification.api.response.MessagePushPageResponse;
import com.binance.notification.api.response.MessageTypePageResponse;
import com.binance.notification.api.response.MessageTypeResponse;
import com.binance.notification.api.vo.MessagePushVo;

/**
 * @author lufei
 * @date 2018/11/2
 */
public interface IMessagePushService {

    void addType(MessageTypeRequest request);

    void updateType(MessageTypeRequest request);

    void deleteType(LongIdRequest request);

    MessageTypeResponse getTypeById(LongIdRequest request);

    MessageTypePageResponse getTypeList(MessageTypeRequest request);

    void saveOrUpdateMessagePush(MessagePushRequest request);

    MessagePushVo getById(LongIdRequest request);

    MessagePushPageResponse getList(Long id, Long type, String remark, Integer status, Integer offset, Integer rows);

    MessagePushBodyPageResponse getMessagePushBodyList(LongIdRequest request);

    void refuseNotice(MessageUpdateRequest request);

    void delete(LongIdRequest request);

    void send(MessageUpdateRequest request);
}
